package com.lkd.shoppingcart.dao;

import java.util.List;

import com.lkd.shoppingcart.entity.OrdersView;

public interface OrderDao {
	
	/**
	 * 添加订单
	 * @param id
	 * @param userId
	 * @return 返回-1表示操作失败，返回其他表示sql语句影响的行数
	 */
	public int addOrder(String orderId, Integer userId);
	
	/**
	 * 更新订单状态
	 * @param orderId
	 * @param status 订单状态(0: 未发货，1: 已发货，2: 已签收)
	 * @return 返回-1表示操作失败，返回其他表示sql语句影响的行数
	 */
	public int updateStatusById(String orderId, Integer status);
	
	/**
	 * 根据原状态更新订单状态
	 * @param oldStatus 原订单状态(0: 未发货，1: 已发货，2: 已签收)
	 * @param newStatus 新订单状态(0: 未发货，1: 已发货，2: 已签收)
	 * @return 返回-1表示操作失败，返回其他表示sql语句影响的行数
	 */
	public int updateStatus(Integer oldStatus, Integer newStatus);
	
	/**
	 * 查询用户的订单
	 * @param userId
	 * @return 返回用户的订单信息
	 */
	public List<OrdersView> queryByUserId(Integer userId);
	
	/**
	 * 查询全部订单
	 * @return 返回全部订单信息
	 */
	public List<OrdersView> queryAll();

}
